package socket;

import com.jfinal.kit.PropKit;

import socket.body.ApplyKey;
import easpui。EASPCipher;


public class HeaderStr {
	private String str="";
	/**
	 * 拼接报文头字符串
	 * @param header
	 * @author zly
	 */
	public static String getConStr(Header header){
		String str=header.getMsgLen()+header.getMsgID()+header.getMsgType()+header.getSenderOrgCode()
	    +header.getRecvOrgCode()+header.getSendTime()+header.getVerifyCode();
		return str;
	}
	/**
	 * 拼接报文体字符串 秘钥申请
	 * @param body
	 * @return
	 * @author zly
	 */
	public static String getBodyStr(ApplyKey applyKey){
		PropKit.use("config.properties");
		String str=applyKey.gettypecode()+applyKey.getcardno()+applyKey.getagtcus()+applyKey.getmoney()+applyKey.getbalance()+applyKey.getPIN()+applyKey.getagtser()+applyKey.getbankser()+applyKey.getdate()+applyKey.gettime()+applyKey.getretcode()+applyKey.getservuid()+applyKey.gettermid();
		//entityID		[in] 对方的实体ID。
		//keyTag			[in] 密钥标识，（根据secserver设置可指定6-8号密钥）。
		//plainText		[in] 待计算MAC的明文数据。
		str=str+new String(EASPCipher.mac(PropKit.get("entityID"),PropKit.get("keyTag"),str));
		return str;
	}
	/**
	 * 解析报文体字符串 秘钥申请
	 * @param body
	 * @return
	 * @author zly
	 */
	public static  String[] getBody(String str){
		String[] array =new String[14];
		array[0]=CutString.fsubstring(str,0, 2).trim();
		array[1]=CutString.fsubstring(str,2, 22).trim();
		array[2]=CutString.fsubstring(str,22, 34).trim();
		array[3]=CutString.fsubstring(str,34, 46).trim();
		array[4]=CutString.fsubstring(str,46, 58).trim();
		array[5]=CutString.fsubstring(str,58, 74);
		array[6]=CutString.fsubstring(str,74, 80);
		array[7]=CutString.fsubstring(str,80, 90).trim();
		array[8]=CutString.fsubstring(str,90, 98).trim();
		array[9]=CutString.fsubstring(str,98, 104).trim();
		array[10]=CutString.fsubstring(str,104, 106).trim();
		array[11]=CutString.fsubstring(str,106, 114).trim();
		array[12]=CutString.fsubstring(str,114, 122).trim();
		array[13]=CutString.fsubstring(str,122, 130).trim();
		return array;
	}
	public static void main(String[] args){
		String str="10000000000000000000123456";
		String[] a	=getBody(str);
		System.out.println(a);
		
	}
	/**
	 * 拼接报文体字符串 消费明细申请
	 * @param body
	 * @return
	 * @author zly
	 */
//	public static String getConsumeBodyStr(Consume consume){
//		String str=consume.getWasteSN()+consume.getPosID()+consume.getTerminalID()+consume.getGenTime()
//				+consume.getCardID()+consume.getCardType()+consume.getStarttime()+consume.getEndtime();
//		return str;
//	}
}
